export interface BaseResponse {
  success: boolean
  code: number
  message?: string
}

export interface ItemResponse<T> extends BaseResponse {
  item?: T
}

export interface ListResponse<T> extends BaseResponse {
  items?: T[]
}

export interface PageResponse<T> extends BaseResponse {
  pageNum: number
  pageSize: number
  total: number
  totalPages: number
  items?: T[]
  msg?: string
  data?: any
}

export interface getDamandPage<T> extends PageResponse<T> {
  delayApply?: T[]
}

export interface UserLoginResponse {
  id: number
  username: string
  nickname: string
  email: string
  avatar: string
  roles: string[]
  token: string
}
